package com.example.basicdemo.model.builder;

import com.example.basicdemo.model.domain.RentalInfoDomain;
import com.isyscore.os.dev.api.IsyscoreRequestBuilder;
import com.isyscore.os.dev.util.IsyscoreHashMap;

/**
 * 新增组织信息
 */
public class SaveRentalInfoRequestBuilder extends IsyscoreRequestBuilder {

    private IsyscoreHashMap headers;

    /**
     *组织信息
     */
    private RentalInfoDomain detail;

    /**
     *组织代码，1~ 32位字符
     */
    private String code;

    /**
     *上级组织id，为空时即表示根节点
     */
    private String parentId;
    /**
     *组织昵称，不超过255个字符
     */
    private String rentalNickName;
    /**
     *组织名称，1~64位字符
     */
    private String rentalName;
    /**
     *接口未做限制，但推荐使用如下规则：用户自定义扩展标签信息。标签 key：不可为空不可超过 30 个字符支持中文、英文字母、数字和下划线不可重复定义标签 value：不可为空不可超过 256个字符；总计长度1024字符
     */
    private String extra;
    /**
     *组织类型ID
     */
    private String type;

    public RentalInfoDomain getDetail() {
        return detail;
    }

    public SaveRentalInfoRequestBuilder setDetail(RentalInfoDomain detail) {
        this.detail = detail;
        return this;
    }

    public String getCode() {
        return code;
    }

    public SaveRentalInfoRequestBuilder setCode(String code) {
        this.code = code;
        return this;
    }

    public String getParentId() {
        return parentId;
    }

    public SaveRentalInfoRequestBuilder setParentId(String parentId) {
        this.parentId = parentId;
        return this;
    }

    public String getRentalNickName() {
        return rentalNickName;
    }

    public SaveRentalInfoRequestBuilder setRentalNickName(String rentalNickName) {
        this.rentalNickName = rentalNickName;
        return this;
    }

    public String getRentalName() {
        return rentalName;
    }

    public SaveRentalInfoRequestBuilder setRentalName(String rentalName) {
        this.rentalName = rentalName;
        return this;
    }

    public String getExtra() {
        return extra;
    }

    public SaveRentalInfoRequestBuilder setExtra(String extra) {
        this.extra = extra;
        return this;
    }

    public String getType() {
        return type;
    }

    public SaveRentalInfoRequestBuilder setType(String type) {
        this.type = type;
        return this;
    }

    public IsyscoreHashMap getHeaders() {
        return headers;
    }

    public SaveRentalInfoRequestBuilder setHeaders(IsyscoreHashMap headers) {
        this.headers = headers;
        return this;
    }

    /**
     * 验证请求对象
     *
     * @return
     */
    @Override
    public boolean validate() {
        return false;
    }
}
